1. Field of the Invention
This invention relates to a modular architecture of a cellular network for integration on semiconductor circuits using large-scale integration technology. A cellular network includes a plurality of cellular elements (C.sub.m,n) interconnected together to form a matrix of elements having at least m rows and n columns, the row and column numbers describing the location of each element in the matrix.
The invention also relates to a device for processing fuzzy logics rules to control the temporal dynamic evolution of the state of such cellular elements.
The invention relates to, in particular, an architecture for cellular networks which is based on fuzzy logic and refers to a bi-dimensional plane on which said network is assumed to lie. The description to follow will cover this field of application for convenience of illustration only.
2. Discussion of Related Art
As pointed out by certain articles that have appeared in the scientific literature, such as COLLECTIVE BEHAVIOUR OF CELLULAR FUZZY SYSTEM FOR NEW PARADIGM OF COMPUTATION by S. Baglio, L. Fortuna, G. Giudice, and G. Manganaro, architectures which are based on fuzzy cellular elements identical with one another have a wide field of potential applications. Such architectures can process data in real time with high efficiency, and facilitate integration on semiconductor circuits intended for large volume production.
A first exemplary application of these architectures is represented by the solution of such hard mathematical problems as differential equations, or image processing. These first applications were originally based on the so-called "cellular automata" philosophy by Tofoli and Margolous, 1987, and subsequently on a philosophy set forth by Chua and Yang in an article "Cellular Neural Networks" (CNN's), 1988.
While both of the above philosophies point to the use of a cellular network, there still exists the problem of how to configure these architectures by the determination of a set of parameters, in order for them to serve their intended function.
Heretofore they have been designed, and the set of parameters determined, by assigning certain estimated starting values to the parameter of the cellular network, and using supporting simulators in order to determine any errors from the trials made.
This approach took into consideration the possibility of extending to cellular neural networks self-taught algorithms that could determine the optimum values of such parameters.
In the above-referenced scientific article, a novel approach to the use of cellular network-based architectures is proposed, wherein the duty of each cell in the cellular architecture is described by suitable language constructions or "fuzzy logic rules".
With this novel philosophy, a given problem is solved simultaneously as it is defined, because the behaviors of the fuzzy-type cells can be defined in language.
Purely as an example, consider the instance of a fuzzy cellular network consisting of a fuzzy cell matrix of m rows and n columns, all identical and interacting with one another.
Suppose that such a matrix is in biunivocal correspondence to a video image comprising a number of pixels equal to the number of cells in the matrix, so that a state variable can be associated with each cell which would take into consideration the brilliance of the individual pixel, for example.
The dynamic evolution of these state variables is defined by first R.sub.1 and second R.sub.2 sets of fuzzy logic rules defining the cell interactions within a given range.
It is indeed possible to define, for each cell C.sub.m,n in the fuzzy cellular network, a set of cells N.sub.2 (m,n)={C.sub.k,1 :max(.vertline.k-m.vertline.,.vertline.l-n.vertline.).ltoreq.r}, which include the adjacent cells to the base cell within a range of radius r.
In the function that defines the range N.sub.2 (m.n), max is an operator which gives back the largest of the values between brackets, while l and k are indexes identifying a generic cellular element.
The second set R.sub.2 of rules applies to the state variables of the cells within the range of radius r.
The dynamic evolution of the individual cell is determined by a set of rules formed by the first and second sets (R.sub.1 U R.sub.2) combined, while the overall dynamic evolution of the fuzzy cellular network, as resulting from the mutual interactions of the m*n cells, is fixed by the second set R.sub.2 alone.
For example, the state of a generic base cell C.sub.m,n can be described by the exemplary set of rules here below, either through fuzzy logics language constructions or algorithms which can be represented graphically by flow diagrams.
In the sets R.sub.1 and R.sub.2, the quantities subject to conditioning are the state variables X.sub.m,n (t), X.sub.k1 (t).epsilon.N.sub.2 and Range.sub.-- of.sub.-- X.sub.m,n (t).
The first state variable X.sub.m,n (t) defines the condition of the generic cell C.sub.m,n at a time t, while the state variable Range.sub.-- of.sub.-- X.sub.m,n (t) is dependent on the state X.sub.k1 (t) of the adjacent cells to the base cell C.sub.m,n in a range of radius r.
Subsequently, said state variables are compared with the pre-selected membership functions of the set "universe of discourse", following their conversion to fuzzy quantities by the fuzzyfying process.
In the following example, "Low", "Medium" and "High" are the respective membership functions associated with the input variables, and "Small-positive" is one of the membership functions associated with the output variables.
SET R.sub.1 . . . PA1 IF X.sub.m,n (t) IS Low AND Range.sub.-- of.sub.-- X.sub.m,n (t) IS High THEN X.sub.m,n (t+1) IS Small-positive . . . PA1 SET R.sub.2 . . . PA1 IF X.sub.(m--1),n (t) IS Low AND X.sub.m,(n+1) IS Medium AND THEN Range.sub.-- of.sub.-- X.sub.m,n IS High
If the set of rules that describes the dynamic evolution of the cellular network is known, the value of the single state variable associated with the individual cell is updated in the manner expressed by a flow diagram shown in FIG. 3.
The flow diagram has five functional blocks therein which are cascade connected to one another, with feedback provided between an end block and a second block.
An initial block effects the acquisition of the state variables X.sub.m,n and Range.sub.-- of.sub.-- X.sub.m,n associated with the condition of the single network cell at the initial point in time.
These values are transferred to a second block, connected downstream from the initial block, which effects the conversion of these state variables to fuzzy logic quantities for subsequent processing by the sets of rules R.sub.1 and R.sub.2.
A third block, connected downstream from the second block, will receive the value of the output fuzzy quantity delta X.sub.m,n that results from the second block processing.
The third block effects a necessary defuzzyfying operation to obtain the corresponding true value of that fuzzy quantity.
The value from the third block is used by a fourth block to decide, in the event that the defuzzyfied quantity delta X.sub.m,n is zero or below a predetermined threshold, that the processing of the value of the state variable X.sub.m,n associated with the individual cell should be terminated.
Where the value of delta X.sub.m,n is non-zero, the end block will receive said value delta X.sub.m,n from the fourth block, and add it algebraically to the initial value of the state variable X.sub.m,n to yield the new value of X.sub.m,n at a subsequent point in time.
The end block will also place the updated value of X.sub.m,n on the second block input, so that the future values of X.sub.m,n at later points in time can be determined.
The control of the dynamic evolution of the generic cellular network by the above series of operations can be performed by a fuzzy rule processor, as suggested in the scientific article COLLECTIVE BEHAVIOUR OF CELLULAR FUZZY SYSTEM FOR NEW PARADIGM OF COMPUTATION, page 2, FIG. 2.
In particular, the above-referenced article suggests that the W.A.R.P. fuzzy processor manufactured by SGS-Thomson S.r.1. may be used.
While achieving its objective, this proposal is not devoid of shortcomings.
For example, where the number of the state variables associated with the number of fuzzy cells that make up the generic cellular network is large, the processor will be unable to simultaneously determine the states of all the cells, because all of them cannot be processed in parallel.
Therefore, the processor operates separately on different subsets of cells in the cellular network in a sequential manner. This causes its processing rate to be slower.
A fast response is essential where these architectures are to be implemented in image processing applications.
For example, the use of a general-purpose fuzzy processor of the W.A.R.P. type for such processing defines an upper limit of two hundred and fifty six processable rules, which is regarded as insufficient to process images by simple fuzzy procedures, and a respective number of input terminals and output terminals of sixteen and four, associable with the states of their respective cells.
Thus, specific modular structures which are identical with one another are desirable, to facilitate integration on semiconductor circuits for large volume manufacture. In this manner, the numbers of the processor inputs and outputs are not tied to that of the cellular network dimensions.
The underlying technical problem is to provide an architecture of a cellular network, as well as a related cellular network processor, which has such constructional and functional features as to allow fuzzy logics rules to be processed in the manner outlined above, thereby overcoming the limitations and shortcomings previously mentioned in connection with the background art.